#include "seismicpoint.h"
#include "seismiclandmark.h"

string SeismicLandmark::m_objname = "SeismicLandmark";

SeismicLandmark::SeismicLandmark(){
	m_id = 0;
}

void SeismicLandmark::setNull(void)
{
	EPoint::setNull();
    setEmpty();
}

SeismicLandmark::SeismicLandmark(const SeismicLandmark& sl) :
    SeismicPoint(sl)
{
	m_id = sl.m_id;
}


SeismicLandmark::SeismicLandmark(const SeismicPoint& sp) :
    SeismicPoint(sp)
{
	setEmpty();
	m_id = 0;
}

SeismicLandmark::SeismicLandmark(const SeismicPoint& sp, const unsigned short& id) :
    EPoint(sp),
    SeismicPoint(sp),
    m_id(id)
{

}

SeismicLandmark& SeismicLandmark::operator=(const SeismicLandmark& sl)
{
	this->SeismicPoint::operator =(sl);
	m_id = sl.m_id;
	return *this;
}

void SeismicLandmark::setId(const unsigned short& id)
{
	m_id = id;
}

bool SeismicLandmark::isId(void) const
{
	if (m_id == 0) return false;
	return true;
}

unsigned short SeismicLandmark::getId(void) const
{
    return m_id;
}

void SeismicLandmark::reportMake(const string& objname) const
{
    if (getReportCurrentStyle() == STYLE_VERBOSE)
    {
        PReport::setReportOpt("SUB",true);
        SeismicPoint::reportMake();
        PReport::setReportOpt("SUB",false);
        addInLine("ID",m_id);
        moveLineInBlock();
    }
    else if (getReportCurrentStyle() == STYLE_COMPACT)
    {

    }
    // PReport::setReportOpt("SUB",false);
    PReport::reportMake(m_objname);
}
